home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
public
/
bit
/
src
/
gluproto.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-08-01
|
5KB
|
136 lines
/*
* $Id: gluproto.h,v 0.91 1994/02/20 00:53:37 zhao Pre-Release $
*
*. This file is part of BIT shareware package. After the two weeks of
* free evaluation period, you are encouraged (required) to register
* your copy for a small registration fee, which is $35 for personal use
* and $50 for commercial, government and institutional use.
*
* Copyright(c) 1993, 1994 by T.C. Zhao.
* All rights reserved.
*
* Permission to use, copy, and distribute this software in its entirety
* for non-commercial purposes is hereby granted, provided that the
* above shareware and copyright notices and this permission notice
* appear in all copies and their documentation.
*
* This software may be modified for your own use, but modified versions
* may not be distributed without prior consent of the author.
*
* This software is provided "as is" without expressed or implied
* warranty of any kind.
*
*.
*
* Prototypes for gl(mouse,overlay,cursor) utilities
*
*/
#ifndef BIT_GLUPROTO_H
#define BIT_GLUPROTO_H
#include "utype.h"
extern void glu_init(void);
extern int double_buffer_capable(void);
extern int sml_capable(void);
/************ cursors ****************/
#include "curdef.h"
/* mouse: */
extern void get_mouse(int *, int *);
extern void get_mouse_r2w(int *, int *);
extern void set_mouse(int, int);
extern void set_mouse_bounds(int, int, int, int);
extern void reset_mouse_bounds(void);
/* other */
#define control_down (getbutton(CTRLKEY) || getbutton(RIGHTCTRLKEY))
#define altkey_down (getbutton(LEFTALTKEY) || getbutton(RIGHTALTKEY))
#define lmouse_down getbutton(LEFTMOUSE)
#define mmouse_down getbutton(MIDDLEMOUSE)
#define rmouse_down getbutton(RIGHTMOUSE)
#define mouse_down (lmouse_down || mmouse_down)
/************* overlay/pupdraw stuff ******************/
extern void switch_frame_buffer(void);
extern void clear_over_pup(void);
extern int over_pup_colors;
extern void op_mapcolor(int, int, int, int);
/**************** colormap ******************************/
extern void set_colmap(int, pc_t *, pc_t *, pc_t *);
extern void get_colmap(int, pc_t *, pc_t *, pc_t *);
/* routines that draw simple geometric figures */
extern void draw_line(float, float, float, float);
extern void gl_rect(int, int, int, int, int, int);
extern void gl_line(int, int, int, int, int, int);
extern void gl_circ(int, int, int, int, int, int);
extern void gl_tri(int, int, int, int, int, int);
extern void gl_plus(int, int, int, int, int, int);
extern void gl_hdist(int, int, int, int, int, int);
extern void gl_star(int, int, int, int, int, int);
extern void gl_arrow(int, int, int, int, int, int);
/* special routine that does polygons */
extern void gl_poly(const int *, const int *, int, int);
extern void gl_line_poly(const int *, const int *, int);
/* wrappers for GL routines that deals with different pixel sizes */
extern void clear_screen(long, int);
extern void rect_clear(long, int, int, int, int);
extern void Rectwrite(int, int, int, int, void *);
extern void Rectcopy(int, int, int, int, int, int);
extern void set_rectcp_ras(int);
extern long Rectread(int, int, int, int, void *);
extern void Color(rgba_t, int);
extern void Color4(int *);
extern void set_color_bk(void);
/****** moving rubbers bands etc *******************/
extern void set_rubber_bounds(int, int, int, int, int);
extern void set_rubber_center(int);
extern void set_rubber_change_rate(int);
extern void set_rubber_obj(int);
extern void rubber_moveto(int *, int *, int *, int *);
extern void rubber_hide(void);
extern void rubber_finish(void);
extern void rubber_show(int);
extern void rubber_new(long, int, int, int, int, int);
extern int get_max_rubber_obj(void);
extern int rubber_on_screen(long *, int *);
extern void set_rubber_info_cb(void (*)(int, int, int, int));
extern long rubber_cursor(long, short *, int *, int *, int, int, int);
extern long rubber_info(long, short *, int *, int *, int *, int *, int, int);
extern void end_rubber_info(void);
/******* infomation about the rubber objects *****/
extern void show_rect_ori(int, int);
extern void show_rect_size(int, int);
extern void show_rect_speed(int);
extern void show_rect_all(int, int, int, int, int);
extern void hide_rect_all(void);
/******* colors *******************/
extern void set_color_wheel_max(int);
extern void draw_color_wheel(int, int, int, int);
/***** misc. external routines *********/
extern int is_valid_win(long);
/*
* Macros related to graphics
*/
#include "mac.h"
#ifndef RT_GMAC_H
#define RT_GMAC_H
#define WHERE_R2W(x,y,xo,yo) x = getvaluator(MOUSEX) - xo;\
y = getvaluator(MOUSEY) - yo
#endif
#endif